package com.googlecode.kipler.container.dl.creational;

import com.googlecode.kipler.container.dl.ABox;
import com.googlecode.kipler.container.dl.PBox;
import com.googlecode.kipler.container.dl.RBox;
import com.googlecode.kipler.container.dl.SHIQABox;
import com.googlecode.kipler.container.dl.TBox;
import com.googlecode.kipler.container.dl.operational.ClashDetectionObserver;
import com.googlecode.kipler.container.dl.operational.ModifiedIndividualObserver;
import com.googlecode.kipler.satisfiability.clash.ALCQClashDetectionStrategy;


/**
 * 
 * @author İnanç Seylan
 *
 */
public class SHIQModifiedIndividualListBoxFactory extends BoxFactory {

	public ABox createABox() {
		SHIQABox result = new SHIQABox();
		result.addObserver(new ClashDetectionObserver(
				new ALCQClashDetectionStrategy()));
		result.addObserver(new ModifiedIndividualObserver());
		return result;
	}

	public PBox createPBox() {
		return new PBox();
	}

	public RBox createRBox() {
		return new RBox();
	}

	public TBox createTBox() {
		return new TBox(isUnfoldableTBox());
	}

}
